<template>
	<view class="siteview">
		<view class="topBar">
			<hx-navbar :background-color="navbarConfig.background" :fixed="true" :back="false" transparent="show" :color="navbarConfig.color"
			 title="站点信息">
			</hx-navbar>
		</view>

		<!-- 地图 -->
		<map id="map" ref="map" class="map" :latitude="latitude" :longitude="longitude" :markers="markers" scale="10" @tap="mapTap"></map>

	</view>
</template>

<script>
	export default {
		data() {
			return {
				latitude: 36.400266,
				longitude: 118.879228,
				markers: []
			}
		},
		onReady() {
			//调用的函数放到onReady里面
			this.getLocal()
			this.getSite()
		},
		methods: {
			//地图标记点
			getSite() {
				//标记点的数组是单纯将markers数组中的对象的经纬度通过图片的方式标记出来
				this.$api.request('POST', '/api/site/selectSite', {}, false).then(res => {
					res.data.forEach(item => {
						let marker = {
							title: item.siteName,
							latitude: item.sitePoint.split(',')[1],
							longitude: item.sitePoint.split(',')[0],
							iconPath: '/static/map.png',
							callout: {
								content: item.siteName,
								bgColor: '#3e5388',
								fontSize: '14px',
								color: '#fff',
								borderRadius: '10'
							}
						}
						this.markers.push(marker)
					})
				})
			},
			//定位方法;获取当前的经纬度，也可以通过经纬度来获取当前的地理位置，比如：xx省、xx市、xx镇
			getLocal() {
				//显示当前位置
				// #ifdef APP-NVUE
				let map = uni.createMapContext('map', this).$getAppMap()
				map.showUserLocation(true)
				// #endif
				//获取当前定位
				uni.getLocation({
					type: 'wgs84',
					success: (res) => {
						this.longitude = res.longitude
						this.latitude = res.latitude
					}
				})
			},
			mapTap(e) {
				// uni.openLocation({
				// 	latitude: this.latitude,
				// 	longitude: this.longitude,
				// 	name:"马鞍山市含山县",
				// 	address: "马鞍山市含山县"
				// })
			}
		}
	}
</script>

<style lang="less" scoped>
	page,
	.siteview {
		height: 100%;
	}

	.map {
		width: 100vw;
		height: 100vh;
	}
</style>
